Many consumer electronic devices have camera systems that capture video data locally for storage or for delivery to other devices. The designs of the electronic devices may vary but, generally, the devices will include central processing units (CPUs) and/or graphical processing units (GPUs), memory systems, and programming constructs such as operating systems and applications to manage the device's operation.
A camera system generally includes an image sensor and an image signal processor (ISP). The image sensor may generate an output video signal from incident light. The ISP may apply various processing operations to the video from the image sensor, including noise reduction, demosaicing, white balancing, filtering, and color enhancement. The ISP is a dedicated integrated circuit that performs such processes in a pipelined processing system and, therefore, the ISP can perform such functions faster than a CPU or GPU could perform them.
Video stabilization techniques are processes performed on video to eliminate distortion created by shaking hands of camera operators. To perform video stabilization, a consumer device estimates the handshake and then processes video frames according to a transform that inverts distortion created by the handshake. Video sequences typically involve high data rates, for example HD 1080p at 30 frames per second and, therefore, stabilization transforms consume a lot of processor cycles and power when performed by a CPU or GPU.